package com.ruoyi.management.service;

import com.ruoyi.management.pojo.entity.*;
import com.ruoyi.management.pojo.param.AmmeterParam;
import com.ruoyi.management.pojo.param.BillingParam;
import com.ruoyi.management.pojo.param.KtParam;
import com.ruoyi.management.pojo.po.QldbzymxPO;
import com.ruoyi.management.pojo.vo.*;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;

@Service
public interface BillingService {

    //账单列表
    List<Qldbykhmx> compute(String month,String qymc,String tgszt,String hkzt,String hklx);
//    //电费单据
//    List<TenantBillingVO> electricity(String khbh, Date mouth);
    //通过载体查询符合条件的电表
    List<QLdbzymxVO> selectDbList(String zt);
    //切换电表计费状态
    Boolean ammeterZyStatus(QLdbzymxVO qLdbzymxVO);
    //单电费
    List<DbdfVO> selectMeterFeeList(String month, String zt);
    //核查+电费
    List<DbdfVO> selectMeterFeeListCheck(String month, String zt);
    //租户电费待确认
    List<Dbydydfvckkh> selectydkh(String zt, String month, Integer dflx);
    //账单生成/载体选择
    List<ZTVO> selectZt(String month, String tgszt);
    //月度应收看板
    DbkhhkyVO monthReceivable(String month, String tgszt, String zt);
    //年度拖欠看板
    DbkhhkyVO yearDelay(String year, String tgszt, String zt);
    //月度应收明细
    List<Qldbykhmx> monthReceivablemx(String month, String tgszt, String zt, String qymc);
    //年度拖欠明细
    List<Qldbykhmx> yearDelaymx(String tgszt, String zt);
    //月度已收看板
    DbkhhkyVO received(String month, String tgszt, String zt);
    //月度已收明细
    List<QldbysjmxVO> receivedmx(String month, String tgszt, String zt, String qymc);
    //已开票明细
    List<QldbysjmxVO> Invoiced(String month, String tgszt, String zt);
    //未开票年度指标看板
    DbkhhkyVO unInvoiced(String year, String tgszt, String zt);
    //未开票年度指标明细
    List<QldbysjmxVO> unInvoicedmx(String year, String tgszt, String zt);
    //客户整体电费数据
    DbkhhsjbVO customer(String khbh, String zt);
    //客户未收电费列表
    List<Qldbykhmx> customerMx(String zt, String khbh);
    //客户已收电费列表
    List<QldbysjmxVO> customerReceived(String zt, String khbh);
    //客户开票列表
    List<Qldbykp> customerInvoiced(String zt, String khbh);
    //已往年度拖欠
    List<Qldbykhmx> yearDelayPast(String year, String tgszt, String zt);
    //空调数据录入
    Boolean airConditioning(List<AirConditioningParam> airConditioningParams);
    //空调费看板
    AirConditioningParam airConditioningMatch(String month, String zt);
    //空调费列表
    List<Qldbakt> airConditioningList(String month, String zt);
    //插入空调底表数据，做运算数据插入
    Integer airConditioning1(KtParam ktParam);
    //交给供电局的电费
    Boolean powerSupplyBureau(String zt, String date, BigDecimal wjzjea);
    //缴费后数据处理
    Boolean payment(String hkid,BigDecimal zhkje,String tname);

    List<QldbysjmxVO> tenantysmx1(String month,String khbh, String zt,String tgszt);

    List<QldbysjmxVO> tenantysmx11(String month, String qymc, String zt,String tgszt);

    List<Dbysdba> tenantqfysmx(String qymc, String zt,String tgszt,Integer status);
}
